/**
 * 第19章 同步和协作工具类
 * 代码清单-p2ch19a-528页a：使用读写锁实现一个缓存类 {@link top.kaoshanji.p2ch19a.MyCache}
 * 代码清单-p2ch19a-530页a：Semaphore应用示例 {@link top.kaoshanji.p2ch19a.AccessControlService}
 * 代码清单-p2ch19a-531页a：使用CountDownLatch实现同时开始场景 {@link top.kaoshanji.p2ch19a.RacerWithCountDownLatch}
 * 代码清单-p2ch19a-532页a：使用CountDownLatch实现主从协作场景 {@link top.kaoshanji.p2ch19a.MasterWorkerDemo}
 * 代码清单-p2ch19a-533页a：CyclicBarrier应用示例 {@link top.kaoshanji.p2ch19a.CyclicBarrierDemo}
 * 代码清单-p2ch19a-535页a：ThreadLocal基本概念和用法 {@link top.kaoshanji.p2ch19a.ThreadLocalBasic}
 * 代码清单-p2ch19a-536页a：设置ThreadLocal初始值 {@link top.kaoshanji.p2ch19a.ThreadLocalInit}
 * 代码清单-p2ch19a-537页a：在日期处理中使用 {@link top.kaoshanji.p2ch19a.ThreadLocalDateFormat}
 * 代码清单-p2ch19a-538页a：使用ThreadLocal保存上下文信息 {@link top.kaoshanji.p2ch19a.RequestContext}
 * author kaoshanji
 * ^_^
 * create time 2025/2/27 18:25
 */
package top.kaoshanji.p2ch19a;